package com.shop2cn.iapi.sqsynctrade.paremeter.mongo.details;

import java.io.Serializable;
import java.math.BigDecimal;

import org.springframework.data.mongodb.core.mapping.Field;

import com.ymttest.database.model.annotation.Column;
import com.ymttest.database.model.annotation.Table;

/**
 * 组合商品
 * Created by zhangyifan on 2017/7/10.
 */
@SuppressWarnings("serial")
public class SubProduct implements Serializable {

	/**
	 * 商品规格ID
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("CatalogId")
	@Field("catId")
	private String catalogId;

	/**
	 * 子商品名称
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("SubTitle")
	@Field("subTitle")
	private String subTitle;

	/**
	 * 子商品规格ID
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("SubCatalogId")
	@Field("subCataId")
	private String subCatalogId;

	/**
	 * 子商品一级类目
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("FirstCatId")
	@Field("subCat1Id")
	private Integer firstCatId;

	/**
	 * 子商品二级类目
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("SecondCatId")
	@Field("subCat2Id")
	private Integer secondCatId;

	/**
	 * 子商品三级类目
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("ThirdCatId")
	@Field("subCat3Id")
	private Integer thirdCatId;

	/**
	 * Sku
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Sku")
	@Field("subSku")
	private String sku;

	/**
	 * 规格内数量
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Num")
	@Field("subNum")
	private Integer num;

	/**
	 * 含税价格
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("OriginalPrice")
	@Field("subOriPrc")
	private BigDecimal originalPrice;

	/**
	 * 分摊商品价格
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Price")
	@Field("subPrc")
	private BigDecimal price;

	/**
	 * 分摊运费
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Freight")
	@Field("subFreight")
	private BigDecimal freight;

	/**
	 * 分摊调整金额
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Discount")
	@Field("subDisc")
	private BigDecimal discount;

	/**
	 * 分摊平台券金额
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("YmtCoupon")
	@Field("subYmtCop")
	private BigDecimal ymtCoupon;

	/**
	 * 分摊商家券金额
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("SellerCoupon")
	@Field("subSellerCop")
	private BigDecimal sellerCoupon;

	/**
	 * 分摊第三方折扣
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("ThirdPartyDiscount")
	@Field("subDisc3P")
	private BigDecimal thirdPartyDiscount;

	/**
	 * 分摊优惠满减
	 */
	@Table("Ymt_OrderInfoSub")
	@Column("Promotion")
	@Field("subProm")
	private BigDecimal promotion;

	/**
	 * 平台立减优惠
	 */
	@Field("prdYmtPromAmt")
	private BigDecimal prdYmtPromotionAmount;
	
	/**
	 * 总税费
	 */
	@Field("tTaxFee")
	private BigDecimal totalTaxFee;
	
	/**
	 * 商品属性
	 */
	@Field("subProp")
	private String propertyInfo;
	
	/**
	 * 商品图片url
	 */
	@Field("subPicUrl")
	private String pictureUrl;
	
	/**
     * 海关实际税率(小数点后最多6位）
     */
    @Field("cusTaxRate")		
    private BigDecimal customsTaxRate;

    /**
     * 海关实际税费(小数点后最多两位）
     */
    @Field("cusTaxFee")			
    private BigDecimal customsTaxFee;

    /**
     * 供应商名称
     */
    @Field("gSupplier")			
    private String goodsSupplier;
    
    /**
     * 下单使用积分
     */
    @Field("integral")
    private Long integral;

    /**
     * 下单使用积分抵扣金额
     */
    @Field("integralDeAmt")
    private BigDecimal integralDeductionAmount;
    
    /**
     * 区域折扣金额
     */
    @Field("rgDisAmt")
    private BigDecimal regionDiscountAmount;
    
    /**
	 * 预售优惠金额
	 */
	@Field("bkPromAmt")
	private BigDecimal bookingPromotionAmount;

	public String getCatalogId() {
		return catalogId;
	}

	public void setCatalogId(String catalogId) {
		this.catalogId = catalogId;
	}

	public String getSubTitle() {
		return subTitle;
	}

	public void setSubTitle(String subTitle) {
		this.subTitle = subTitle;
	}

	public String getSubCatalogId() {
		return subCatalogId;
	}

	public void setSubCatalogId(String subCatalogId) {
		this.subCatalogId = subCatalogId;
	}

	public Integer getFirstCatId() {
		return firstCatId;
	}

	public void setFirstCatId(Integer firstCatId) {
		this.firstCatId = firstCatId;
	}

	public Integer getSecondCatId() {
		return secondCatId;
	}

	public void setSecondCatId(Integer secondCatId) {
		this.secondCatId = secondCatId;
	}

	public Integer getThirdCatId() {
		return thirdCatId;
	}

	public void setThirdCatId(Integer thirdCatId) {
		this.thirdCatId = thirdCatId;
	}

	public String getSku() {
		return sku;
	}

	public void setSku(String sku) {
		this.sku = sku;
	}

	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}

	public BigDecimal getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(BigDecimal originalPrice) {
		this.originalPrice = originalPrice;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public BigDecimal getFreight() {
		return freight;
	}

	public void setFreight(BigDecimal freight) {
		this.freight = freight;
	}

	public BigDecimal getDiscount() {
		return discount;
	}

	public void setDiscount(BigDecimal discount) {
		this.discount = discount;
	}

	public BigDecimal getYmtCoupon() {
		return ymtCoupon;
	}

	public void setYmtCoupon(BigDecimal ymtCoupon) {
		this.ymtCoupon = ymtCoupon;
	}

	public BigDecimal getSellerCoupon() {
		return sellerCoupon;
	}

	public void setSellerCoupon(BigDecimal sellerCoupon) {
		this.sellerCoupon = sellerCoupon;
	}

	public BigDecimal getThirdPartyDiscount() {
		return thirdPartyDiscount;
	}

	public void setThirdPartyDiscount(BigDecimal thirdPartyDiscount) {
		this.thirdPartyDiscount = thirdPartyDiscount;
	}

	public BigDecimal getPromotion() {
		return promotion;
	}

	public void setPromotion(BigDecimal promotion) {
		this.promotion = promotion;
	}

	public BigDecimal getPrdYmtPromotionAmount() {
		return prdYmtPromotionAmount;
	}

	public void setPrdYmtPromotionAmount(BigDecimal prdYmtPromotionAmount) {
		this.prdYmtPromotionAmount = prdYmtPromotionAmount;
	}

	public BigDecimal getTotalTaxFee() {
		return totalTaxFee;
	}

	public void setTotalTaxFee(BigDecimal totalTaxFee) {
		this.totalTaxFee = totalTaxFee;
	}

	public String getPropertyInfo() {
		return propertyInfo;
	}

	public void setPropertyInfo(String propertyInfo) {
		this.propertyInfo = propertyInfo;
	}

	public String getPictureUrl() {
		return pictureUrl;
	}

	public void setPictureUrl(String pictureUrl) {
		this.pictureUrl = pictureUrl;
	}

	public BigDecimal getCustomsTaxRate() {
		return customsTaxRate;
	}

	public void setCustomsTaxRate(BigDecimal customsTaxRate) {
		this.customsTaxRate = customsTaxRate;
	}

	public BigDecimal getCustomsTaxFee() {
		return customsTaxFee;
	}

	public void setCustomsTaxFee(BigDecimal customsTaxFee) {
		this.customsTaxFee = customsTaxFee;
	}

	public String getGoodsSupplier() {
		return goodsSupplier;
	}

	public void setGoodsSupplier(String goodsSupplier) {
		this.goodsSupplier = goodsSupplier;
	}

	public Long getIntegral() {
		return integral;
	}

	public void setIntegral(Long integral) {
		this.integral = integral;
	}

	public BigDecimal getIntegralDeductionAmount() {
		return integralDeductionAmount;
	}

	public void setIntegralDeductionAmount(BigDecimal integralDeductionAmount) {
		this.integralDeductionAmount = integralDeductionAmount;
	}

	public BigDecimal getRegionDiscountAmount() {
		return regionDiscountAmount;
	}

	public void setRegionDiscountAmount(BigDecimal regionDiscountAmount) {
		this.regionDiscountAmount = regionDiscountAmount;
	}

	public BigDecimal getBookingPromotionAmount() {
		return bookingPromotionAmount;
	}

	public void setBookingPromotionAmount(BigDecimal bookingPromotionAmount) {
		this.bookingPromotionAmount = bookingPromotionAmount;
	}
}
